<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 迭代 函数
  // 什么叫「函数是一等公民」

  // 执行步骤：
    // 1.函数表达式的执行，返回 函数的 「引用/地址/索引」
    // 2.f 变量 获取了 函数的 引用
  var f = function() {
    // code...
  }

  // 一等公民 ->  变量
  //「函数是一等公民」 ->  即 函数 可以 赋值 给 变量。
  // 变量正常 存储「数据」，很多计算机语言，变量只能放数据
    // 而 JS 中，变量 可以引用「函数」
// ——————————————————————————————————————

// 什么是 迭代函数
var arr = [111, 2, 3, 'a'];

// 下面这三种 统称「数组的实例方法」
  // arr.forEach
  // arr.map
  // arr.filter

var f = function(item, i, arr) {

}
arr.forEach(f)
// 总结什么叫 迭代函数：
  // 1. 数组的实例方法，接收的「实参」是「函数」(回调函数)
  // 2. 遍历数组，为数组的每个元素(item)，执行 回调函数
</script>